package com.lyf.scm.plan.domain.convertor;

import com.github.pagehelper.PageInfo;
import com.lyf.scm.plan.api.dto.DemandPlanDTO;
import com.lyf.scm.plan.api.dto.OperationLogRecordDTO;
import com.lyf.scm.plan.api.dto.SalesPlanDirectlyDTO;
import com.lyf.scm.plan.api.dto.SalesPlanOtherRecordDTO;
import com.lyf.scm.plan.insfrastructure.db.dataobject.*;
import org.mapstruct.Mapper;

import java.util.List;

/**
 * description:
 * 直营预测计划-条件查询转化器
 *
 * @author: haodong
 * @data: 2020/8/3 10:30
 */
@Mapper(componentModel = "spring")
public interface SalesPlanSelectConvertor extends BaseConvertor<SalesPlanDirectlyDTO, SalesPlanSelectDO> {

    /**
     * 需求计划DTO转直营预测do
     *
     * @param demandPlanDTO 需求计划dto
     * @return {@link SalesPlanDirectlyDO}
     */
    SalesPlanDirectlyDO demandPlanDTOtoDO(DemandPlanDTO demandPlanDTO);

    /**
     * 需求计划DTO转其他渠道预测DO
     *
     * @param demandPlanDTO 需求计划dto
     * @return {@link SalesPlanOtherDO}
     */
    SalesPlanOtherDO demandPlanToOtherDo(DemandPlanDTO demandPlanDTO);

    /**
     * 导入记录DTO集合转换为DO集合
     *
     * @param dos
     * @return
     */
    List<SalesPlanOtherRecordDO> recordToDoList(List<SalesPlanOtherRecordDTO> dos);
}
